package com.bgs.eat.commodity.service;

import com.bgs.eat.commodity.entity.CommodityEntity;
import com.bgs.eat.commodity.entity.CommodityTypeEntity;
import com.bgs.eat.config.CommonResult;
import org.springframework.web.multipart.MultipartFile;

public interface CommodityService {

    /**
    * @Description 新增 商品信息（门户商家版）
    * @Author lzy
    * @Date 2022/10/21 8:54
    * @Return com.bgs.eat.config.CommonResult
    * @param multipartFile
    * @param commodityEntity
    */
    CommonResult saveCommodity(MultipartFile multipartFile, CommodityEntity commodityEntity);

    /**
    * @Description 根据 店铺id获取 商品信息（门户商家版）
    * @Author lzy
    * @Date 2022/10/21 14:02
    * @Return com.bgs.eat.config.CommonResult
    * @param shopId
     * @param typeId
    */
    CommonResult getCommodityListByShopIdAndTypeId(Integer shopId,Integer typeId);

    /**
    * @Description 根据id获取商品信息（门户商家版）
    * @Author lzy
    * @Date 2022/10/24 15:00
    * @Return com.bgs.eat.config.CommonResult
    * @param id
    */
    CommonResult getCommodityListById(Integer id);

    /**
    * @Description 修改商品信息（门户商家版）
    * @Author lzy
    * @Date 2022/10/24 19:43
    * @Return com.bgs.eat.config.CommonResult
    * @param file
    * @param commodityEntity
    */
    CommonResult editCommodity(MultipartFile file, CommodityEntity commodityEntity);

    /**
    * @Description 下架商品（门户商家版）
    * @Author lzy
    * @Date 2022/10/25 8:42
    * @Return com.bgs.eat.config.CommonResult
    * @param id
    */
    CommonResult soldOutCommodity(Integer id);

    /**
    * @Description 根据店铺id获取下架商品
    * @Author lzy
    * @Date 2022/10/25 8:56
    * @Return com.bgs.eat.config.CommonResult
    * @param shopId
    */
    CommonResult getSoldOutCommodityByShopId(Integer shopId);

    /**
    * @Description 根据id商家商品（门户商家版）
    * @Author lzy
    * @Date 2022/10/25 9:02
    * @Return com.bgs.eat.config.CommonResult
    * @param id
    */
    CommonResult putawayCommodity(Integer id);

    /**
    * @Description 修改商品信息 无图片（门户商家版）
    * @Author lzy
    * @Date 2022/10/25 10:16
    * @Return com.bgs.eat.config.CommonResult
    * @param commodityEntity
    */
    CommonResult editCommodityNoImage(CommodityEntity commodityEntity);

    /**
    * @Description 根据id删除商品信息（门户商家版）
    * @Author lzy
    * @Date 2022/10/25 13:50
    * @Return com.bgs.eat.config.CommonResult
    * @param id
    */
    CommonResult deleteCommodityById(Integer id);

    /**
     * @Description 修改 商品总数（门户商家版）
     * @Author lzy
     * @Date 2022/10/27 8:53
     * @Return com.bgs.eat.config.CommonResult
     * @param id
     * @param mode 0减商品总数(sum) 1加商品总数(sum)
     */
    CommonResult editCommoditySumById(Integer id, Integer mode);

    /**
    * @Description 根据店铺id获取商品信息列表（门户用户版）
    * @Author lzy
    * @Date 2022/10/27 11:20
    * @Return com.bgs.eat.config.CommonResult
    * @param shopId
    */
    CommonResult getCommodityListAllByShopId(Integer shopId);
}
